10811번 바구니 뒤집기

Day4 4단계 20231021
배열의 정해진 인덱스 영역 내의 요소들의 순서 바꾸기

if (end - start > 1) {
	if ((end - start) % 2 == 1) {
		range = (end - start) / 2 + 1;
	} else {
		range = (end - start) / 2;
	}
	for (int j = 0; j < range; j++) {
		temp = baskets[end - j];
		baskets[end - j] = baskets[start + j];
		baskets[start + j] = temp;
} else if (end - start == 1) {
	temp = baskets[end];
	baskets[end] = baskets[start];
	baskets[start] = temp;
}
int[] array = new int[n];
// 중략
int start = Integer.parseInt(st.nextToken());
int end = Integer.parseInt(st.nextToken());

for (int i = end; i > start; i--) {
	for(int j = 0; j < i - start; j++) {
		temp = array[start + j];
		array[start + j] = array[start + j + 1];
		array[start + j + 1] = temp;
	}
}

import java.io.*;
import java.util.*;

public class Main {

	public static void main(String[] args) {
		BufferedReader br;
		BufferedWriter bw;
		StringTokenizer st;
		StringBuilder sb = new StringBuilder();

		try {
			br = new BufferedReader(new InputStreamReader(System.in));
			bw = new BufferedWriter(new OutputStreamWriter(System.out));

			st = new StringTokenizer(br.readLine(), " ");
			int numOfBaskets = Integer.parseInt(st.nextToken());
			int numOfInput = Integer.parseInt(st.nextToken());

			int[] baskets = new int[numOfBaskets];
			for (int i = 0; i < numOfBaskets; i++) {
				baskets[i] = i + 1;
			}

			int start = 0;
			int end = 0;
			int temp = 0;
			int range = 0;

			for (int i = 0; i < numOfInput; i++) {
				st = new StringTokenizer(br.readLine(), " ");
				start = Integer.parseInt(st.nextToken()) - 1;
				end = Integer.parseInt(st.nextToken()) - 1;

				if (end - start > 1) {
					if ((end - start) % 2 == 1) {
						range = (end - start) / 2 + 1;
					} else {
						range = (end - start) / 2;
					}
					for (int j = 0; j < range; j++) {
						temp = baskets[end - j];
						baskets[end - j] = baskets[start + j];
						baskets[start + j] = temp;
					}
				} else if (end - start == 1) {
					temp = baskets[end];
					baskets[end] = baskets[start];
					baskets[start] = temp;
				}

			}

			for (int i : baskets) {
				sb.append(i + " ");
			}

			bw.write(sb.toString());
			bw.flush();
			bw.close();
			br.close();

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}